Business information management systems operating on computer networks are commonly used to allow business decisions and negotiations to be quickly and efficiently carried out. Such business information management systems often comprise a number of separate applications each having a main database accessible to and updatable by software running on a number of different computers linked by the network. The different business information management applications making up the overall system allow access to different databases and allow their respective databases to be updated to take into account business decisions or actions made by the users.
For example, a product application can allow access to a database of currently available products together with product specifications and product related information such as the number of articles of each product available in stock, delivery times for new product orders and current product prices. Similarly, an accounting application allows access to an accounts database of accounting information such as customer credit limits, current balances and past payment histories.
Thus the specific management functions of the system are carried out by separate software applications which are opened and used as required by users.
The use of such business information management system allows users to make real time decisions on business issues. For example, a product management application can be accessed by a user receiving an enquiry from a potential customer and the product cost, inventory and delivery time information accessed by the application can be used to quote a price and delivery time without any risk of customer dissatisfaction due to the quotation of a wrong price or an unattainable delivery date, or the inadvertent agreement of price which is too low to be economically viable. Similarly, by accessing account information application the user can confirm that the order can be taken from a customer without exceeding a customer credit limit or extending further credit to a customer already in arrears.
Another advantage of such business information management systems is that they allow decision making by different users to be directly based on the information held in the various databases rather then relying on the judgment and memory of the individual user, so that greater consistency in business decision making can be achieved.
In practice a problem which is encountered in using business information management systems is that when a user is using one application it may be necessary to obtain information which is accessed separately through another application which operates independently from the application in use.
Of course, it is always possible for a user using one application and requiring information accessed through another application to open the necessary other application and to find the necessary information using the other application. However, the time taken to do this may well be too long to be acceptable, in particularly while a potential customer is on the telephone waiting for an answer. Further, a procedure requiring a user to recognize that further information is required and available through another application, to identify the other application and then open and use the other application to find the information requires a high level of user understanding and knowledge of the business information management system and requires the user to have a high level of initiative in seeking the desired information.
In order to allow users to quickly find required information many business management applications are arranged to respond to a user request to display a particular item of information by also automatically displaying related items of information. These related items of information are selected when the application software is installed and are items of information which are expected to be likely to be required or significant together with the user requested information. For example a product application may respond to a request for price information about a specific product by displaying the requested price information and simultaneously displaying inventory and delivery time information for that product, even though this has not been specifically requested by the user.
In theory it would be possible to link two separate applications so that one application can obtain information from the other application and display this information to the user. However, such linking together of separate software applications is difficult and expensive to achieve, in practice there may be fundamental differences in the way in which the separate applications operate so that linking the applications will require complex programming. Further, in practice such an approach of interlinking separate applications can only be carried out for a small number of functions in a small number of applications, because the interconnections of the different applications greatly increases the complexity of the business information management system as a whole and reduces the stability and integrity of the system. If it is attempted to provide such links for a large number of functions in numerous applications the complexity of the business information management system grows exponentially and quickly becomes so great that reliable operation of the system can no longer be guaranteed and the system stability and integrity is compromised.
Further, such links between separate applications are set by the programmer who installs the link. Such fixed links cannot be changed by individual users to reflect their own requirements.
Further, if it is desired to increase the range of information which can be accessed and displayed by an application to include new types of information it is necessary to alter the application, for example by rewriting or reprogramming, so that the application is able to directly access and display the required information. However, such altering of an application to extend it to include new types of information is time consuming and expensive. This is particularly the case where the applications are supplied as packaged software. Packaged software is distributed as large volumes of identical software so that there is little or no commercial justification for making significant alterations to the packaged software to be specific to the needs of an individual customer. Finally, in order to allow such linking of separate applications it is necessary to have access to the internal operation of the applications so that the necessary links can be determined and established and it is usually necessary to be able to alter at least some of the applications so that they can access and display the required information. It is possible to link specific applications in this way where the source code or other description of the internal operations of the applications is available and changes can be made to the applications. However, in practice this is rarely the case unless all of the applications have been produced by the same supplier because access to third party source code and rights to alter third party applications is usually not available because of commercial and liability concerns.
As a result, there is a problem that business information management systems are only able to link a small number of specific applications, and that it is difficult or impossible to extend them to link further applications or to change what information is linked.
Another approach has been to provide systems which respond to requests for information by also identifying and supplying related information which may also be of interest. There are two main methods of doing this. The first method is to add link or relationship data to each item of information in an information store, or to the index entry for each item, identifying other items which are regarded as related to the item and which should be so identified and supplied. The second method is for the information supplying system, for example an internet browser, to identify the information or content being requested by a user and to identify other information similar to the requested information, which may also be of interest. Typically this is done by the information supplying system searching for information containing the same keywords or having the same indexing or metadata identifiers for content as the requested information. One problem with this approach is that the selection of information regarded as related to the requested information which is identified to the user is based on predefined fixed links or fixed rules as to what is regarded as similar based on the content of the requested information. As a result, the same further information will always be identified as being related to each item of requested information regardless of the context or situation in which the request is made by the user. A further problem with this approach is that there is a significant cost associated with generating and storing the link or relationship data or indexing or metadata identifiers. Finally, the approach of keyword searching in particular has the disadvantage of generally being unreliable and often identifying information which is not of any interest to the user.
The present invention is intended to overcome these problems, at least in part.